package com.snowRemovingUser.mapper;

import com.ruoyi.common.annotation.DataSource;
import com.ruoyi.common.enums.DataSourceType;
import com.snowRemovingUser.domain.MDeviceAttribute;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 设备属性Mapper接口 从库的数据源
 *
 * @author liguang
 * @date 2023-05-14
 */
@DataSource(value = DataSourceType.SLAVE)
public interface MDeviceAttributeSlaveMapper
{
    /**
     * 查询设备属性
     *
     * @param serialNumber 设备属性主键
     * @return 设备属性
     */
    public MDeviceAttribute selectMDeviceAttributeBySerialNumber(String serialNumber);

    /**
     * 查询设备属性列表
     *
     * @param mDeviceAttribute 设备属性
     * @return 设备属性集合
     */
    public List<MDeviceAttribute> selectMDeviceAttributeList(MDeviceAttribute mDeviceAttribute);

    /**
     * 新增设备属性
     *
     * @param mDeviceAttribute 设备属性
     * @return 结果
     */
    public int insertMDeviceAttribute(MDeviceAttribute mDeviceAttribute);

    /**
     * 修改设备属性
     *
     * @param mDeviceAttribute 设备属性
     * @return 结果
     */
    public int updateMDeviceAttribute(MDeviceAttribute mDeviceAttribute);

    /**
     * 删除设备属性
     *
     * @param serialNumber 设备属性主键
     * @return 结果
     */
    public int deleteMDeviceAttributeBySerialNumber(String serialNumber);

    /**
     * 批量删除设备属性
     *
     * @param serialNumbers 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteMDeviceAttributeBySerialNumbers(String[] serialNumbers);

    /**
     *  多条件查询设备属性
     * @param serialNumber
     * @param attributeId
     * @return
     */
    public MDeviceAttribute selectMDeviceAttributeBySerialNumberAndAttributeId(@Param("serialNumber")String serialNumber, @Param("attributeId")String attributeId);

    /**
     * 多条件修改设备属性
     * @param mDeviceAttribute
     * @return
     */
    public int updateMDeviceAttributeBySerialNumberAndAttributeId(MDeviceAttribute mDeviceAttribute);
}
